Add field PATH_SPEED_KNOTS to xcsv.
authoroliskoli <oliskoli>
Mon, 16 Jul 2007 19:05:25 +0000 (19:05 +0000)
committeroliskoli <oliskoli>
Mon, 16 Jul 2007 19:05:25 +0000 (19:05 +0000)
csv_util.c
defs.h
xmldoc/chapters/styles.xml

index 3f87bc9ee58b9c5fd4cd701cc667e6684afc7f9e..b63ea80bc88871bdf16f3c22760cdb8ddd399665 100644 (file)
@@ -917,6 +917,9 @@ xcsv_parse_val(const char *s, waypoint *wpt, const field_map_t *fmp)
     if (strcmp(fmp->key, "PATH_SPEED_MPH") == 0) {
        WAYPT_SET(wpt, speed, MPH_TO_MPS(atof(s)));
     } else
+    if (strcmp(fmp->key, "PATH_SPEED_KNOTS") == 0) {
+       WAYPT_SET(wpt, speed, KNOTS_TO_MPS(atof(s)));
+    } else
     if (strcmp(fmp->key, "PATH_COURSE") == 0) {
        WAYPT_SET(wpt, course, atof(s));
     } else
@@ -1432,6 +1435,9 @@ xcsv_waypt_pr(const waypoint *wpt)
        if (strcmp(fmp->key, "PATH_SPEED_MPH") == 0) {
             writebuff( buff, fmp->printfc, MPS_TO_MPH(wpt->speed));
        } else
+       if (strcmp(fmp->key, "PATH_SPEED_KNOTS") == 0) {
+            writebuff( buff, fmp->printfc, MPS_TO_KNOTS(wpt->speed));
+       } else
        if (strcmp(fmp->key, "PATH_COURSE") == 0) {
             writebuff( buff, fmp->printfc, wpt->course );
        } else
diff --git a/defs.h b/defs.h
index 9759d34b70a0c09e82dc3a3bb58e9262148815f4..eb109dd217c3ef59bec76cdc7c69ad55732d93c9 100644 (file)
--- a/defs.h
+++ b/defs.h
 
 /* meters/second to kilometers/hour */
 #define MPS_TO_KPH(a) ((double)(a)*SECONDS_PER_HOUR/1000)
+
 /* meters/second to miles/hour */
 #define MPS_TO_MPH(a) (METERS_TO_MILES(a) * SECONDS_PER_HOUR)
+
+/* meters/second to knots */
+#define MPS_TO_KNOTS(a) (MPS_TO_KPH((a)/1.852))
+
 /* kilometers/hour to meters/second */
 #define KPH_TO_MPS(a) ((double)(a)*1000/SECONDS_PER_HOUR)
+
 /* miles/hour to meters/second */
 #define MPH_TO_MPS(a) (MILES_TO_METERS(a) / SECONDS_PER_HOUR)
 
+/* knots to meters/second */
+#define KNOTS_TO_MPS(a) (KPH_TO_MPS((a)*1.852))
+
 /*
  * Snprintf is in SUS (so it's in most UNIX-like substance) and it's in 
  * C99 (albeit with slightly different semantics) but it isn't in C89.   
index 503555096205c398249241d6648e4d3f4f5fb95e..164a5f01f90c8db46af5a152bcb46987f21577b2 100644 (file)
@@ -1081,6 +1081,18 @@ example:
 </screen>
 </section>
 
+<section id="style_def_pathspeed_knots">
+<title>PATH_SPEED_KNOTS</title>
+<para>
+   Like PATH_SPEED but means knots (nautical).
+</para>
+<para>
+example:
+</para>
+<screen format="linespecific">   PATH_SPEED_KNOTS,"","%.1f"
+</screen>
+</section>
+
 <section id="style_def_pathcourse">
 <title>PATH_COURSE</title>
 <para>